<?php

namespace Portal\MainBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Message
 */
class Message
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var string
     */
    private $title;

    /**
     * @var string
     */
    private $body;

    /**
     * @var string
     */
    private $firstName;

    /**
     * @var string
     */
    private $lastName;

    /**
     * @var string
     */
    private $email;

    /**
     * @var integer
     */
    private $phone;

    /**
     * @var \DateTime
     */
    private $sentDate;

    /**
     * @var integer
     */
    private $senderId;

    /**
     * @var string
     */
    private $senderRole;

    /**
     * @var integer
     */
    private $receiverId;

    /**
     * @var string
     */
    private $receiverRole;

    /**
     * @var string
     */
    private $statusSender;

    /**
     * @var string
     */
    private $statusReceiver;

    /**
     * @var string
     */
    private $boxSender;

    /**
     * @var string
     */
    private $boxReceiver;

    /**
     * @var \DateTime
     */
    private $createdAt;

    /**
     * @var \DateTime
     */
    private $updatedAt;

    /**
     * @var \Portal\MainBundle\Entity\MessageType
     */
    private $type;

    /**
     * @var \Portal\MainBundle\Entity\SubjectCategory
     */
    private $subjectCategory;

    /**
     * @var \Portal\MainBundle\Entity\Subject
     */
    private $subject;

    /**
     * @var \Portal\MainBundle\Entity\Location
     */
    private $location;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set title
     *
     * @param string $title
     * @return Message
     */
    public function setTitle($title)
    {
        $this->title = $title;
    
        return $this;
    }

    /**
     * Get title
     *
     * @return string 
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Set body
     *
     * @param string $body
     * @return Message
     */
    public function setBody($body)
    {
        $this->body = $body;
    
        return $this;
    }

    /**
     * Get body
     *
     * @return string 
     */
    public function getBody()
    {
        return $this->body;
    }

    /**
     * Set firstName
     *
     * @param string $firstName
     * @return Message
     */
    public function setFirstName($firstName)
    {
        $this->firstName = $firstName;
    
        return $this;
    }

    /**
     * Get firstName
     *
     * @return string 
     */
    public function getFirstName()
    {
        return $this->firstName;
    }

    /**
     * Set lastName
     *
     * @param string $lastName
     * @return Message
     */
    public function setLastName($lastName)
    {
        $this->lastName = $lastName;
    
        return $this;
    }

    /**
     * Get lastName
     *
     * @return string 
     */
    public function getLastName()
    {
        return $this->lastName;
    }

    /**
     * Set email
     *
     * @param string $email
     * @return Message
     */
    public function setEmail($email)
    {
        $this->email = $email;
    
        return $this;
    }

    /**
     * Get email
     *
     * @return string 
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set phone
     *
     * @param integer $phone
     * @return Message
     */
    public function setPhone($phone)
    {
        $this->phone = $phone;
    
        return $this;
    }

    /**
     * Get phone
     *
     * @return integer 
     */
    public function getPhone()
    {
        return $this->phone;
    }

    /**
     * Set sentDate
     *
     * @param \DateTime $sentDate
     * @return Message
     */
    public function setSentDate($sentDate)
    {
        $this->sentDate = $sentDate;
    
        return $this;
    }

    /**
     * Get sentDate
     *
     * @return \DateTime 
     */
    public function getSentDate()
    {
        return $this->sentDate;
    }

    /**
     * Set senderId
     *
     * @param integer $senderId
     * @return Message
     */
    public function setSenderId($senderId)
    {
        $this->senderId = $senderId;
    
        return $this;
    }

    /**
     * Get senderId
     *
     * @return integer 
     */
    public function getSenderId()
    {
        return $this->senderId;
    }

    /**
     * Set senderRole
     *
     * @param string $senderRole
     * @return Message
     */
    public function setSenderRole($senderRole)
    {
        $this->senderRole = $senderRole;
    
        return $this;
    }

    /**
     * Get senderRole
     *
     * @return string 
     */
    public function getSenderRole()
    {
        return $this->senderRole;
    }

    /**
     * Set receiverId
     *
     * @param integer $receiverId
     * @return Message
     */
    public function setReceiverId($receiverId)
    {
        $this->receiverId = $receiverId;
    
        return $this;
    }

    /**
     * Get receiverId
     *
     * @return integer 
     */
    public function getReceiverId()
    {
        return $this->receiverId;
    }

    /**
     * Set receiverRole
     *
     * @param string $receiverRole
     * @return Message
     */
    public function setReceiverRole($receiverRole)
    {
        $this->receiverRole = $receiverRole;
    
        return $this;
    }

    /**
     * Get receiverRole
     *
     * @return string 
     */
    public function getReceiverRole()
    {
        return $this->receiverRole;
    }

    /**
     * Set statusSender
     *
     * @param string $statusSender
     * @return Message
     */
    public function setStatusSender($statusSender)
    {
        $this->statusSender = $statusSender;
    
        return $this;
    }

    /**
     * Get statusSender
     *
     * @return string 
     */
    public function getStatusSender()
    {
        return $this->statusSender;
    }

    /**
     * Set statusReceiver
     *
     * @param string $statusReceiver
     * @return Message
     */
    public function setStatusReceiver($statusReceiver)
    {
        $this->statusReceiver = $statusReceiver;
    
        return $this;
    }

    /**
     * Get statusReceiver
     *
     * @return string 
     */
    public function getStatusReceiver()
    {
        return $this->statusReceiver;
    }

    /**
     * Set boxSender
     *
     * @param string $boxSender
     * @return Message
     */
    public function setBoxSender($boxSender)
    {
        $this->boxSender = $boxSender;
    
        return $this;
    }

    /**
     * Get boxSender
     *
     * @return string 
     */
    public function getBoxSender()
    {
        return $this->boxSender;
    }

    /**
     * Set boxReceiver
     *
     * @param string $boxReceiver
     * @return Message
     */
    public function setBoxReceiver($boxReceiver)
    {
        $this->boxReceiver = $boxReceiver;
    
        return $this;
    }

    /**
     * Get boxReceiver
     *
     * @return string 
     */
    public function getBoxReceiver()
    {
        return $this->boxReceiver;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     * @return Message
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    
        return $this;
    }

    /**
     * Get createdAt
     *
     * @return \DateTime 
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * Set updatedAt
     *
     * @param \DateTime $updatedAt
     * @return Message
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updatedAt = $updatedAt;
    
        return $this;
    }

    /**
     * Get updatedAt
     *
     * @return \DateTime 
     */
    public function getUpdatedAt()
    {
        return $this->updatedAt;
    }

    /**
     * Set type
     *
     * @param \Portal\MainBundle\Entity\MessageType $type
     * @return Message
     */
    public function setType(\Portal\MainBundle\Entity\MessageType $type = null)
    {
        $this->type = $type;
    
        return $this;
    }

    /**
     * Get type
     *
     * @return \Portal\MainBundle\Entity\MessageType 
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * Set subjectCategory
     *
     * @param \Portal\MainBundle\Entity\SubjectCategory $subjectCategory
     * @return Message
     */
    public function setSubjectCategory(\Portal\MainBundle\Entity\SubjectCategory $subjectCategory = null)
    {
        $this->subjectCategory = $subjectCategory;
    
        return $this;
    }

    /**
     * Get subjectCategory
     *
     * @return \Portal\MainBundle\Entity\SubjectCategory 
     */
    public function getSubjectCategory()
    {
        return $this->subjectCategory;
    }

    /**
     * Set subject
     *
     * @param \Portal\MainBundle\Entity\Subject $subject
     * @return Message
     */
    public function setSubject(\Portal\MainBundle\Entity\Subject $subject = null)
    {
        $this->subject = $subject;
    
        return $this;
    }

    /**
     * Get subject
     *
     * @return \Portal\MainBundle\Entity\Subject 
     */
    public function getSubject()
    {
        return $this->subject;
    }

    /**
     * Set location
     *
     * @param \Portal\MainBundle\Entity\Location $location
     * @return Message
     */
    public function setLocation(\Portal\MainBundle\Entity\Location $location = null)
    {
        $this->location = $location;
    
        return $this;
    }

    /**
     * Get location
     *
     * @return \Portal\MainBundle\Entity\Location 
     */
    public function getLocation()
    {
        return $this->location;
    }
}